{
  "settings": {
    "hasHeaders": true,
    "constrainDragToContainer": true,
    "reorderEnabled": true,
    "selectionEnabled": false,
    "popoutWholeStack": false,
    "blockedPopoutsThrowError": true,
    "closePopoutsOnUnload": true,
    "showPopoutIcon": false,
    "showMaximiseIcon": false,
    "showCloseIcon": false,
    "responsiveMode": "onload",
    "tabOverlapAllowance": 0,
    "reorderOnTabMenuClick": true,
    "tabControlOffset": 10
  },
  "dimensions": {
    "borderWidth": 5,
    "borderGrabWidth": 15,
    "minItemHeight": 10,
    "minItemWidth": 10,
    "headerHeight": 20,
    "dragProxyWidth": 300,
    "dragProxyHeight": 200
  },
  "labels": {
    "close": "close",
    "maximise": "maximise",
    "minimise": "minimise",
    "popout": "open in new window",
    "popin": "pop in",
    "tabDropdown": "additional tabs"
  },
  "content": [
    {
      "type": "row",
      "isClosable": true,
      "reorderEnabled": true,
      "title": "",
      "content": [
        {
          "type": "stack",
          "width": 50,
          "isClosable": true,
          "reorderEnabled": true,
          "title": "",
          "activeItemIndex": 0,
          "content": [
            {
              "type": "component",
              "componentName": "codeEditor",
              "title": "* Untitled",
              "componentState": {
                "code": [
                  "// Small part to repair the cabin lighting of FIAT Panda",
                  "",
                  "// dimensions ",
                  "let hTot      = 16;",
                  "let hInn      = hTot -3;",
                  "let hMax      = hTot - 6 ;",
                  "let hMin      = 2;",
                  "",
                  "let dTop    = 3.5;",
                  "let dMax    = 6;",
                  "let dMin    = 4;",
                  "",
                  "let tInn    = 0.5;",
                  "let tMax    = 2;",
                  "let tMin    = 1; ",
                  "let tBase   = 2; ",
                  "",
                  "let wTot    = 17;",
                  "let wCut    = 10;",
                  "",
                  "let p0 = [0,0];",
                  "let p1 = [0, hTot]",
                  "let p2 = [dTop,hTot];",
                  "let p3 = [dMax,hMax];",
                  "let p4 = [dMin,hMin];",
                  "let p5 = [dMin-tMin,hMin];",
                  "let p6 = [dMax-tMax,hMax];",
                  "let p7 = [tBase+tInn,hInn];",
                  "let p8 = [tBase,hInn];",
                  "let p9 = [tBase,0];",
                  "",
                  "function DrawSideView()",
                  "{",
                  "// sideView",
                  "let sideView = new Sketch(p0)",
                  ".LineTo(p1)",
                  ".LineTo(p2)",
                  ".LineTo(p3)",
                  ".LineTo(p4)",
                  ".LineTo(p5)",
                  ".LineTo(p6)",
                  ".LineTo(p7)",
                  ".LineTo(p8)",
                  ".LineTo(p9)",
                  ".End(true,false)",
                  ".Face(true);",
                  "",
                  "return sideView",
                  "}",
                  "",
                  "function ExtrudeSideView()",
                  "{",
                  "// extrude side_view",
                  "let holder = Extrude(sideView,[0,0,wTot]);",
                  "return holder",
                  "} ",
                  "",
                  "function CreateCutter()",
                  "// create boxCutter to create 2 separate springy arms",
                  "{",
                  "let wBox = wCut;",
                  "let dBox = dMax;",
                  "let hBox = hInn;",
                  "let boxCutter = Box(dBox,hBox,wBox);",
                  "boxCutter = Translate([tBase,0,(wTot-wBox)/2],boxCutter,false);",
                  "return boxCutter",
                  "}",
                  "",
                  "function CreateHole()",
                  "// add hole for screw",
                  "{",
                  "let hole = Translate([0,hTot/2,wTot/2],Rotate([0,1,0],90,Cylinder(1,10,true)))",
                  "return hole",
                  "}",
                  "",
                  "// Model stack",
                  "let sideView        = DrawSideView();",
                  "let holder          = ExtrudeSideView();",
                  "let boxCutter       = CreateCutter();",
                  "holder              = Difference(holder,[boxCutter]);",
                  "let hole            = CreateHole();",
                  "holder              = Difference(holder,[hole]);",
                  "",
                  ""
                ]
              },
              "width": 50,
              "isClosable": false,
              "reorderEnabled": true
            }
          ]
        },
        {
          "type": "column",
          "isClosable": true,
          "reorderEnabled": true,
          "title": "",
          "width": 50,
          "content": [
            {
              "type": "stack",
              "height": 80,
              "isClosable": true,
              "reorderEnabled": true,
              "title": "",
              "activeItemIndex": 0,
              "content": [
                {
                  "type": "component",
                  "componentName": "cascadeView",
                  "title": "CAD View",
                  "componentState": {
                    "componentName": "cascadeView",
                    "MeshRes": 0.1,
                    "Cache?": true,
                    "Radius": 30
                  },
                  "isClosable": false,
                  "reorderEnabled": true
                }
              ]
            },
            {
              "type": "stack",
              "height": 20,
              "isClosable": true,
              "reorderEnabled": true,
              "title": "",
              "activeItemIndex": 0,
              "content": [
                {
                  "type": "component",
                  "componentName": "console",
                  "title": "Console",
                  "componentState": {},
                  "height": 20,
                  "isClosable": false,
                  "reorderEnabled": true
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "isClosable": true,
  "reorderEnabled": true,
  "title": "",
  "openPopouts": [],
  "maximisedItemId": null
}